package trabajo.dao;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Timestamp;
import java.sql.Date;
import java.util.ArrayList;
import java.util.Collection;

import trabajo.modelo.Cancha;
import trabajo.modelo.Horario;
import trabajo.modelo.Local;
import trabajo.modelo.Persona;
import trabajo.util.ConexionBD;
import trabajo.excepcion.DAOExcepcion;



public class HorarioDAO extends BaseDAO {
	


	public Horario obtener(int _idHorario) throws DAOExcepcion {
		System.out.println("HorarioDAO: obtener(int _idHorario)");
		Horario horario = new Horario();
		Connection con = null;
		PreparedStatement stmt = null;
		ResultSet rs = null;
		try {
			String query = "select * from horario where idhorario = ?";
			con = ConexionBD.obtenerConexion();
			stmt = con.prepareStatement(query);
			stmt.setInt(1, _idHorario);
			rs = stmt.executeQuery();
			if (rs.next()) {
				horario.setIdHorario(rs.getInt("idhorario"));
				horario.setIdCancha(rs.getInt("idcancha"));
				horario.setFecha(rs.getString("fecha"));
				//horario.setInicio(rs.getTimestamp("inicio"));
				//horario.setFin(rs.getTimestamp("fin"));
				horario.setDisponible(rs.getString("disponible"));
				horario.setCosto(rs.getBigDecimal("costo"));
			}
		} catch (SQLException e) {
			System.err.println(e.getMessage());
			throw new DAOExcepcion(e.getMessage());
		} finally {
			this.cerrarResultSet(rs);
			this.cerrarStatement(stmt);
			this.cerrarConexion(con);
		}
		return horario;
	}
	
public void registar(Horario _horario) throws DAOExcepcion {
		
		System.out.println("LocalDAO: registarHorario(Horario _horario)");
			
		ResultSet rs = null;
		Connection con = null;
		PreparedStatement stmt = null;		
			
		try {
			con = ConexionBD.obtenerConexion();
			String query;
			
			//insertando horario
			query = "insert into horario (idhorario, idcancha, fecha, disponible, costo) VALUES (?, ?, ?, ?, ?)";
			stmt = con.prepareStatement(query);
			
			stmt.setInt(1, _horario.getIdHorario());				
			stmt.setInt(2, _horario.getIdCancha());						
			//stmt.setDate(3, _horario.getFecha());
			stmt.setString(4, _horario.getDisponible());
			stmt.setBigDecimal(5, _horario.getCosto());
			//stmt.setString(6, _horario.getTelefono());
			

			int i = stmt.executeUpdate();				
				if (i != 1) {
					throw new SQLException("No se pudo insertar");
					}										
			} catch (SQLException e) {
				System.err.println(e.getMessage());
				throw new DAOExcepcion(e.getMessage());
			} finally {
				this.cerrarStatement(stmt);
				this.cerrarConexion(con);
			}
		}	


	
}
